<!--
 * @Author: WangGuojian 1085844536@qq.com
 * @Date: 2023-08-18 19:48:19
 * @LastEditTime: 2023-08-18 20:31:47
 * @LastEditors: WangGuojian 1085844536@qq.com
 * @FilePath: \htmld:\Developer\WGJ\VSCode_WorkSpace\Web\vue\vue-basic\17-生命周期\2.分析生命周期.html
 * @Description:
-->
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>分析生命周期</title>
        <script type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <div id="root" :x="n">
            <h2 v-text="n"></h2>
            <h2>当前的n值是：{{n}}</h2>
            <button @click="add">点我+1</button>
            <button @click="bye">点我销毁vm</button>
        </div>
    </body>

    <script type="text/javascript">
        Vue.config.productionTip = false;

        new Vue({
            el: '#root',
            // template:`
            //  <div>
            //   <h2>当前的n值是：{{n}}</h2>
            //   <button @click="add">点我n+1</button>
            //  </div>
            // `,
            data: {
                n: 1,
            },
            methods: {
                add() {
                    console.log('add');
                    this.n++;
                },
                bye() {
                    console.log('bye');
                    this.$destroy();
                },
            },
            watch: {
                n() {
                    console.log('n变了');
                },
            },
            beforeCreate() {
                console.log('beforeCreate');
            },
            created() {
                console.log('created');
            },
            beforeMount() {
                console.log('beforeMount');
            },
            mounted() {
                console.log('mounted');
            },
            beforeUpdate() {
                console.log('beforeUpdate');
            },
            updated() {
                console.log('updated');
            },
            beforeDestroy() {
                console.log('beforeDestroy');
            },
            destroyed() {
                console.log('destroyed');
            },
        });
    </script>
</html>
